<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
    <title>学生入口</title>
    <link rel="stylesheet" type="text/css" href="../static/admin/layui/css/layui.css"/>
    <link rel="stylesheet" type="text/css" href="../static/admin/css/login.css"/>
</head>
<style>
    #canvas {
        float: right;
        display: inline-block;
        border: 1px solid #ccc;
        border-radius: 2px;
        cursor: pointer;
        height: 38px;
        width: 100px;
    }
</style>
<body>
<div class="m-login-bg">
    <div class="m-login">
        <h3>学生登录</h3>
        <div class="m-login-warp">
            <form class="layui-form" >
                <div class="layui-form-item">
                    <input type="text" name="number" required lay-verify="required" placeholder="用户名"
                           autocomplete="off" class="layui-input">
                </div>
                <div class="layui-form-mid layui-word-aux">用户名为学号</div>
                <div class="layui-form-item">
                    <input type="password" name="password" required lay-verify="required" placeholder="密码"
                           autocomplete="off" class="layui-input">
                </div>
                <div id="ms" class="layui-form-mid layui-word-aux" style="color: red"></div>
                <div class="layui-form-item">
                    <div class="layui-input-inline" style="width: 120px">
                        <input type="text" id="code" required lay-verify="required" placeholder="请输入验证码"
                               autocomplete="off" class="layui-input">
                    </div>
                    <canvas id="canvas" width="100" height="43"></canvas>
                </div>
                <div class="layui-form-item m-login-btn">
                    <div class="layui-inline">
                        <button class="layui-btn layui-btn-normal" lay-submit lay-filter="loginForm">登录</button>
                    </div>
                    <div class="layui-inline">
                        <a type="button" href="guanliyuan-login.html" class="layui-btn layui-btn-primary" style="width: 120px">管理员登录</a>
                    </div>
                </div>
                <div class="layui-form-item ">
                    <div class="layui-inline">
                        <a type="button" href="student-register.html" class="layui-btn layui-btn-primary" style="width: 245px">学生注册</a>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
<script src="../static/admin/layui/layui.js" type="text/javascript" charset="utf-8"></script>
<script>
    layui.use(['jquery','form','layer'],function () {
        var form =layui.form(),
            layer = layui.layer,
            $ =layui.jquery;

        $(function(){
            var show_num = [];
            draw(show_num);
            $("#canvas").on('click',function(){
                draw(show_num);
            })
            form.on('submit(loginForm)',function (data) {
                var val =$("#code").val().toLowerCase();
                var num = show_num.join("");
                if(val != num){
                    layer.msg('验证码错误', {icon: 5});
                    $("#code").val('');
                    draw(show_num);
                }else {
                    $.ajax({
                        type:"POST",
                        url:"/student/login",
                        data:{
                            "number": data.field.number,
                            "password": data.field.password,
                        },
                        dataType:"json",
                        success:function (res) {
                            if (res.flag){
                                window.location.href="student-main.html";
                            }else {
                                $("#ms").html(res.msg);
                            }
                        }
                    })
                    return false;
                }
            })
        })
        function draw(show_num) {
            var canvas_width=$('#canvas').width();
            var canvas_height=$('#canvas').height();
            var canvas = document.getElementById("canvas");//获取到canvas的对象，演员
            var context = canvas.getContext("2d");//获取到canvas画图的环境，演员表演的舞台
            canvas.width = canvas_width;
            canvas.height = canvas_height;
            var sCode = "A,B,C,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,W,X,Y,Z,1,2,3,4,5,6,7,8,9,0";
            var aCode = sCode.split(",");
            var aLength = aCode.length;//获取到数组的长度

            for (var i = 0; i <= 3; i++) {
                var j = Math.floor(Math.random() * aLength);//获取到随机的索引值
                var deg = Math.random() * 30 * Math.PI / 180;//产生0~30之间的随机弧度
                var txt = aCode[j];//得到随机的一个内容
                show_num[i] = txt.toLowerCase();
                var x = 10 + i * 20;//文字在canvas上的x坐标
                var y = 20 + Math.random() * 8;//文字在canvas上的y坐标
                context.font = "bold 23px 微软雅黑";

                context.translate(x, y);
                context.rotate(deg);

                context.fillStyle = randomColor();
                context.fillText(txt, 0, 0);

                context.rotate(-deg);
                context.translate(-x, -y);
            }
            for (var i = 0; i <= 5; i++) { //验证码上显示线条
                context.strokeStyle = randomColor();
                context.beginPath();
                context.moveTo(Math.random() * canvas_width, Math.random() * canvas_height);
                context.lineTo(Math.random() * canvas_width, Math.random() * canvas_height);
                context.stroke();
            }
            for (var i = 0; i <= 30; i++) { //验证码上显示小点
                context.strokeStyle = randomColor();
                context.beginPath();
                var x = Math.random() * canvas_width;
                var y = Math.random() * canvas_height;
                context.moveTo(x, y);
                context.lineTo(x + 1, y + 1);
                context.stroke();
            }
        }

        function randomColor() {//得到随机的颜色值
            var r = Math.floor(Math.random() * 256);
            var g = Math.floor(Math.random() * 256);
            var b = Math.floor(Math.random() * 256);
            return "rgb(" + r + "," + g + "," + b + ")";
        }

    })
</script>
</body>

</html>
